package design.Day02;

/**
 * @program: data-structure
 * @description: 主题接口
 * @author: wangjun
 * @create: 2022-01-11
 **/
public interface Subject {

    /**
     * 注册观察者
     * @param observer 观察者实例
    */
    public void registerObserver(Observer observer);

    /**
     * 移除某个观察者
     * @param observer 观察者实例
     */
    public void removeObserver(Observer observer);

    /**
     * 通知所有观察者，当主题发生改变时候
     */
    public void notifyObservers();
}
